void main() {
  // 1. 可以正常执行的代码
  String name1 = 'itcast';
  print(name1.length);

  // 2. 无法正常执行的代码：在代码编译期就会报错
  // String name2;
  // The non-nullable local variable 'name2' must be assigned before it can be used.
  // 报错：Null check operator used on a null value
  // print(name2.length);

  // 3. 解决办法：使用 ? 显示的指定变量可以为空
  String? name3 = null;
  name3 = 'itcast';
  print(name3);

  // 4. 使用可以为空的变量
  // name3? : 表示非空检查，如果name3为空，不去调用属性或方法，如果name3不为空，就去调用属性或方法
  print(name3.length);
}
